from django.urls import path
from .views import (
    AnalyzeNoteView,
    GenerateSummaryView,
    GeneratePlanView,
    ProcessScheduleView
)

urlpatterns = [
    path('analyze-note/', AnalyzeNoteView.as_view(), name='analyze-note'),
    path('generate-summary/', GenerateSummaryView.as_view(), name='generate-summary'),
    path('generate-plan/', GeneratePlanView.as_view(), name='generate-plan'),
    path('process-schedule/', ProcessScheduleView.as_view(), name='process-schedule'),
]

# AI 模块 API 端点说明
API_ENDPOINTS = {
    # 笔记分析接口
    'POST /api/ai/analyze-note/': {
        'description': '分析笔记内容，提取关键信息',
        'body': {
            'content': '笔记内容(必填)',
            'type': '分析类型(可选,默认comprehensive)',
            'language': '语言(可选,默认zh)'
        },
        'response': {
            'topics': ['主要主题列表'],
            'key_points': ['关键要点列表'],
            'tags': ['建议标签列表'],
            'category': '建议分类',
            'suggestions': ['行动建议列表']
        }
    },
    
    # 生成摘要接口
    'POST /api/ai/generate-summary/': {
        'description': '生成文本摘要',
        'body': {
            'text': '需要总结的文本(必填)',
            'type': '摘要类型(可选,concise/detailed/structured)',
            'language': '语言(可选,zh/en)',
            'max_length': '最大长度(可选,默认200)'
        },
        'response': {
            'summary': '生成的摘要内容',
            'keywords': ['关键词列表'],
            'metadata': {
                'original_length': '原文长度',
                'summary_length': '摘要长度',
                'compression_ratio': '压缩比率'
            }
        }
    },
    
    # 生成计划接口
    'POST /api/ai/generate-plan/': {
        'description': '生成学习/工作计划',
        'body': {
            'content': '计划内容(必填)',
            'plan_type': '计划类型(可选,exam/meeting/task/study)',
            'duration': '计划周期(可选,day/week/month)',
            'preferences': {
                'start_time': '偏好开始时间(可选)',
                'end_time': '偏好结束时间(可选)',
                'break_time': '休息时间设置(可选)'
            }
        },
        'response': {
            'schedules': [{
                'name': '活动名称',
                'date': '日期(MM月DD日)',
                'time_period': '时间段(上午/下午)',
                'time': '具体时间(HH:mm-HH:mm)',
                'priority': '优先级(高/中/低)',
                'description': '详细描述'
            }],
            'reminders': [{
                'type': '提醒类型(preparation/materials)',
                'content': '提醒内容',
                'priority': '优先级(高/中/低)'
            }],
            'metadata': {
                'generated_at': '生成时间',
                'plan_type': '计划类型',
                'duration': '计划周期'
            }
        }
    },
    
    # 处理日程接口
    'POST /api/ai/process-schedule/': {
        'description': '处理和分析日程内容',
        'body': {
            'content': '日程内容(必填)',
            'analysis_type': '分析类型(可选,basic/detailed)',
            'timezone': '时区(可选,默认Asia/Shanghai)'
        },
        'response': {
            'title': '日程标题',
            'time': {
                'start': '开始时间',
                'end': '结束时间'
            },
            'priority': '优先级',
            'participants': ['参与者列表'],
            'preparations': ['准备事项列表'],
            'analysis': {
                'duration': '持续时间(分钟)',
                'conflict_check': '时间冲突检查结果',
                'suggestions': ['优化建议列表']
            }
        }
    }
}
